.. _cmlPmCfgSetSeqMode: cmlPmCfgSetSeqMode ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlPmCfgSetSeqMode ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 SeqMode ) DESCRIPTION ````````````` - cmlPmCfgSetSeqMode() 함수는 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되었을 때, 처리를 어떻게 할 것인지에 대한 모드를 설정합니다. ceSDK에서는 현재 이송 명령이 진행되고 있으므로 에러로 처리하는 모드와 이전 이송 명령이 완료될 때까지 내부적으로 루프를 돌면서 기다리다가 이전 명령이 완료되면 새로운 명령을 실행하는 모드를 지원합니다. \ - 시퀀스(Sequence) 모드 설정은 모든 축에 공통적으로 적용됩니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 사용자가 제어하고자 하는 노드 번호. ▶ SeqMode : 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되었을 때 이의 처리를 어떻게 할 것인지에 대한 시퀀스(Sequence) 모드를 설정 혹은 반환합니다. 이 값의 의미는 다음과 같습니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning "| 0 (ccmlSEQM_SKIP_RUN)[Default] ", " | 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되면 -5170 | (ccmlERR_MOT_SEQ_SKIPPED) 에러 값과 함께 곧바로 반환됩니다. 다양한 에러 | 코드의 확인 본 매뉴얼의 부록 편에 명시되어 있습니다. " "| 1 (ccmlSEQM_WAIT_RUN) ", " | 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되면 이송 함수 내부에서 | 루프를 돌면서 이전 이송이 완료되기를 기다리다가 이전 이송이 완료되면 현재 | 하달된 이송 명령을 수행합니다. " RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 REFERENCE ````````````` .. warning:: 시퀀스(Sequence) 모드가 ccmlSEQM_SKIP_RUN[Default]으로 설정된 경우에 이전 이송 명령이 아직 끝나지 않은 상태에서 새로운 이송 명령이 하달되면 에러 처리되고 해당 이송 명령은 실행되지 않습니다. 따라서 이 모드에서 이송 명령을 내릴 때 사용자는 이전의 이송 명령이 완료되었음을 확인하는 것이 바람직합니다. EXAMPLE ``````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink2_SDK.h” #include “ComiMLink2_SDK_Def.h” long BoardID = 0; long nSeqMode = 0; //시퀀스 모드를 SKIP RUN 모드로 설정합니다. cmlPmCfgSetSeqMode(BoardID, 0, ccmlSEQM_SKIP_RUN ); //현재 설정된 Sequence 모드를 반환합니다. cmlPmCfgGetSeqMode(BoardID, 0, &nSeqMode );